<!doctype html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Tiro Notes Blog</title>
		<meta name="description" content="Tiro Notes Blog and Devlog">
		<link href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" rel="stylesheet">
		<link rel="alternate" href="/blog/feed/feed.xml" type="application/atom+xml" title="Tiro Notes Blog">
		<link rel="alternate" href="/blog/feed/feed.json" type="application/json" title="Tiro Notes Blog">
		
		<style>* { box-sizing: border-box; }
/* Defaults */
:root {
		--font-family:  Source Sans Pro,Helvetica Neue,Arial,sans-serif;
		--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
}

/* Theme colors */
:root {
		--color-main-red: #f56e6e;
		--color-gray-20: #e0e0e0;
		--color-gray-50: #C0C0C0;
		--color-gray-90: #333;

		--background-color: #fff;

		--text-color: var(--color-gray-90);
		--text-color-link: #f56e6e;
		--text-color-link-active: #f56e6e;
		--text-color-link-visited: #f56e6e;

		--syntax-tab-size: 2;
}

@media (prefers-color-scheme: dark) {
		:root {
				--color-gray-20: #1e1e1e;
				--color-gray-50: #1e1e1e;
				--color-gray-90: #1e1e1e;

				/* --text-color is assigned to --color-gray-_ above */
				--text-color-link:#f56e6e;
				--text-color-link-active: #f56e6e;
				--text-color-link-visited: #f56e6e;

				--background-color: #fff;
		}
}


/* Global stylesheet */
* {
		box-sizing: border-box;
}

a {
		text-decoration: none;
}

html,
body {
		padding: 0;
		margin: 0 auto;
		font-family: var(--font-family);
		color: var(--text-color);
		background-color: var(--background-color);
}
html {
		overflow-y: scroll;
}
body {
		max-width: 40em;
}

/* https://www.a11yproject.com/posts/how-to-hide-content/ */
.visually-hidden {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
}

p:last-child {
		margin-bottom: 0;
}
p {
		line-height: 1.5;
}

li {
		line-height: 1.5;
}

a[href] {
		color: var(--text-color-link);
}
a[href]:visited {
		color: var(--text-color-link-visited);
}
a[href]:hover,
a[href]:active {
		color: var(--text-color-link-active);
}

main {
		padding: 1rem;
}
main :first-child {
		margin-top: 0;
}

header {
		/* border-bottom: 1px dashed var(--color-gray-20); */
}
header:after {
		content: "";
		display: table;
		clear: both;
}

.links-nextprev {
		list-style: none;
		padding: 1em 0;
		display: flex;
    justify-content: space-between;
}

table {
		margin: 1em 0;
}
table td,
table th {
		padding-right: 1em;
}

pre,
code {
		font-family: var(--font-family-monospace);
}
pre:not([class*="language-"]) {
		margin: .5em 0;
		line-height: 1.375; /* 22px /16 */
		-moz-tab-size: var(--syntax-tab-size);
		-o-tab-size: var(--syntax-tab-size);
		tab-size: var(--syntax-tab-size);
		-webkit-hyphens: none;
		-ms-hyphens: none;
		hyphens: none;
		direction: ltr;
		text-align: left;
		white-space: pre;
		word-spacing: normal;
		word-break: normal;
}
code {
		word-break: break-all;
}

/* Header */
header {
		display: flex;
		gap: 1em .5em;
		flex-wrap: wrap;
		align-items: center;
		padding: 1em;
		position:relative;
}
/*

#ARTICLE

*/

.post-metadata {
	margin-bottom: 20px!important;
}

p img {
	max-width: 90%;
	display:block;
}
code,
p code {
	background: #e6e6e6;
    padding: 4px;
    border-radius: 5px;
}
/*

#LIST

*/
/* TAG LIST */
.post-tags .tag:last-child .separator {
		display:none;
}
.post-tags .tag {

}
.post-tags {
		font-size: 10px;
		margin-left: 20px;
}
.post-tags-length-1 {
		display: none;
}
.tag-posts {
		display:none;
}
.home-link img {
		width: 50px;
}
.home-link {
		width: 170px;
		color: var(--color-gray-90)!important;
		display: flex;
		align-content: center;
    align-items: center;
    justify-content: space-between;

		font-size: 1em; /* 16px /16 */
		margin-right: 2em;
}
.home-link:link:not(:hover) {
		text-decoration: none;
}

/* Nav */
.nav {
		position: absolute;
		right: 0px;
		top: 30px;
		display: flex;
		padding: 0;
		margin: 0;
		list-style: none;
}
.nav-item {
		display: inline-block;
		margin-left: 22px;
		font-size: 15px;
		color: var(--color-gray-90);
}
.nav-item a[href]:not(:hover) {
		text-decoration: none;
		color: var(--color-gray-90);
}
.nav a[href][aria-current="page"] {
		text-decoration: none;
}

/* Posts list */
.postlist {
		list-style: none;
		padding: 0;
		padding-left: 1.5rem;
}
.postlist-item {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		counter-increment: start-from -1;
		margin-bottom: 1em;
}
.postlist-item:before {
		display: inline-block;
		pointer-events: none;
		content: "" counter(start-from, decimal-leading-zero) ". ";
		line-height: 100%;
		text-align: right;
		margin-left: -1.5rem;
}
.postlist-date,
.postlist-item:before {
		font-size: 0.8125em; /* 13px /16 */
		color: var(--color-gray-90);
}
.postlist-date {
		word-spacing: -0.5px;
}
.postlist-link {
		font-size: 1.1875em; /* 19px /16 */
		font-weight: 700;
		flex-basis: calc(100% - 1.5rem);
		padding-left: .25em;
		padding-right: .5em;
		text-decoration: none;

}
.postlist-item-active .postlist-link {
		font-weight: bold;
}

/* Tags */
.post-tag {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		text-transform: capitalize;
		font-style: italic;
}
.postlist-item > .post-tag {
		align-self: center;
}

/* Tags list */
.post-metadata {
		display: inline-flex;
		flex-wrap: wrap;
		gap: .5em;
		list-style: none;
		padding: 0;
		margin: 0;
}
.post-metadata time {
		margin-right: 1em;
}

/* Direct Links / Markdown Headers */
.header-anchor {
		text-decoration: none;
		font-style: normal;
		font-size: 1em;
		margin-left: .1em;
}
a[href].header-anchor,
a[href].header-anchor:visited {
		color: transparent;
}
a[href].header-anchor:focus,
a[href].header-anchor:hover {
		text-decoration: none;
}
a[href].header-anchor:focus,
:hover > a[href].header-anchor {
		color: #aaa;
}

h2 + .header-anchor {
		font-size: 1.5em;
}

/* Responsive */
@media (max-width: 600px) {
		header ul.nav {
				top: 5px;
				position: relative;
				left: -15px;
		}
}</style>
	</head>
	<body>

		<script type="text/javascript">
			(function(window, document, dataLayerName, id) {
					window[dataLayerName]=window[dataLayerName]||[],window[dataLayerName].push({start:(new Date).getTime(),event:"stg.start"});var scripts=document.getElementsByTagName('script')[0],tags=document.createElement('script');
					function stgCreateCookie(a,b,c){var d="";if(c){var e=new Date;e.setTime(e.getTime()+24*c*60*60*1e3),d="; expires="+e.toUTCString()}document.cookie=a+"="+b+d+"; path=/"}
					var isStgDebug=(window.location.href.match("stg_debug")||document.cookie.match("stg_debug"))&&!window.location.href.match("stg_disable_debug");stgCreateCookie("stg_debug",isStgDebug?1:"",isStgDebug?14:-1);
					var qP=[];dataLayerName!=="dataLayer"&&qP.push("data_layer_name="+dataLayerName),isStgDebug&&qP.push("stg_debug");var qPString=qP.length>0?("?"+qP.join("&")):"";
					tags.async=!0,tags.src="https://tiro-notes.containers.piwik.pro/"+id+".js"+qPString,scripts.parentNode.insertBefore(tags,scripts);
					!function(a,n,i){a[n]=a[n]||{};for(var c=0;c<i.length;c++)!function(i){a[n][i]=a[n][i]||{},a[n][i].api=a[n][i].api||function(){var a=[].slice.call(arguments,0);"string"==typeof a[0]&&window[dataLayerName].push({event:n+"."+i+":"+a[0],parameters:[].slice.call(arguments,1)})}}(i[c])}(window,"ppms",["tm","cm"]);
			})(window, document, 'dataLayer', '8be1ea79-efe6-40a5-8eaa-77e0a5d04b75');
		</script>



		<a href="#skip" class="visually-hidden">Skip to main content</a>

		<header>
			<a href="/blog/" class="home-link">
				<img src="https://tiro-notes.org/favicon.png">
				Tiro Notes Blog
			</a>
			<nav>
				<h2 class="visually-hidden">Top level navigation menu</h2>
				<ul class="nav">
					<li class="nav-item"> <a href="/blog/tags/guides/"> guides </a> </li>
					<li class="nav-item"> <a href="/blog/tags/devlog/"> devlog </a> </li>
					<li class="nav-item"> <a href="/blog/tags/"> all tags </a> </li>
					<li class="nav-item">
						<a href="/blog/feed/feed.xml">
							<span class="fa fa-rss"></span>
					</a> </li>
					<li class="nav-item"> <a href="https://github.com/dotgreg/tiro">
							<span class="fa fa-github"></span>
					</a> </li>
					<li class="nav-item"> <a href="https://tiro-notes.org"> site > </a> </li>
				</ul>
				<!-- <ul class="nav"> -->
					<!-- -->
					<!-- 	<li class="nav-item"><a href="/">Home</a></li> -->
					<!-- -->
					<!-- 	<li class="nav-item"><a href="/blog/">Archive</a></li> -->
					<!-- -->
					<!-- </ul> -->
			</nav>
		</header>

		<main id="skip">
			
<h1 id="content-not-found" tabindex="-1">Content not found. <a class="header-anchor" href="#content-not-found">#</a></h1>
<p>Go <a href="/blog/">home</a>.</p>
<!--

Read more: https://www.11ty.dev/docs/quicktips/not-found/

This will work for both GitHub pages and Netlify:

* https://help.github.com/articles/creating-a-custom-404-page-for-your-github-pages-site/
* https://www.netlify.com/docs/redirects/#custom-404

-->


		</main>

		<footer></footer>

		<!-- Current page: /blog/404.html -->
	</body>
</html>
